home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / tm / tmmisc.c < prev    next >
C/C++ Source or Header  |  1990-11-06  |  2KB  |  87 lines

  1. /* 
  2.    Copyright (C) 1990 C van Reewijk, email: dutentb.uucp!reeuwijk
  3.  
  4. This file is part of GLASS.
  5.  
  6. GLASS is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 1, or (at your option)
  9. any later version.
  10.  
  11. GLASS is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GLASS; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /* file: tmmisc.c
  21.    Various low-level routines.
  22.  */
  23.  
  24. #include "tmdefs.h"
  25.  
  26. #include "debug.h"
  27. #include "tmmisc.h"
  28. #include "tmerror.h"
  29.  
  30. /******************************************************
  31.  *                                                    *
  32.  *            ALLOCATION ROUTINES                     *
  33.  *                                                    *
  34.  ******************************************************/
  35.  
  36. extern char *malloc();
  37. extern char *realloc();
  38.  
  39. /* Allocate the given amount of memory and check if
  40.    it has been done. If not, complain, and stop.
  41.  */
  42. char *ckmalloc( sz )
  43.  unsigned sz;
  44. {
  45.     register char *adr;
  46.  
  47.     adr = malloc( sz );
  48.     if( adr == CHARNIL ){
  49.     error( NOROOM );
  50.     exit( 1 );
  51.     }
  52.     return( adr );
  53. }
  54.  
  55. /* Allocate the given amount of memory and check if
  56.    it has been done. If not, complain, and stop.
  57.  */
  58. char *ckrealloc( old, sz )
  59.  char *old;
  60.  unsigned sz;
  61. {
  62.     register char *adr;
  63.  
  64.     adr = realloc( old, sz );
  65.     if( adr == CHARNIL ){
  66.     error( NOROOM );
  67.     exit( 1 );
  68.     }
  69.     return( adr );
  70. }
  71.  
  72. /* Same as fopen, but give error message if file can't be opened */
  73. FILE *ckfopen( nm, acc )
  74.  char *nm;
  75.  char *acc;
  76. {
  77.     register FILE *hnd;
  78.  
  79.     hnd = fopen( nm, acc );
  80.     if( NULL == hnd ){
  81.     (void) strcpy( errarg, nm );
  82.     sys_error( errno );
  83.     exit( 1 );
  84.     }
  85.     return( hnd );
  86. }
  87.